If you already know how to compile models with GUIStudioMDL go straight to section 2.
If you're a complete dummy to hexing, but know how to reskin ponies in your favourite image editing program,
then read on.

This way of hexing models via compiling brand new ones is a lot easier and quicker compared to hex editing.
There are benefits such as being able to give the model any name you want with no limit, able to choose any
directory where the textures are stored, and not having to worry about shared textures from other models.

The only real work that takes time is setting yourself up to compile models directly to Garry's Mod. Once
you're set up with the tools and source files, you'll be spitting out new ponies at the speed of mach 6.

TOOLS NEEDED:
GuiStudioMDL:
http://www.wunderboy.org/apps/guistudiomdl2.php
(Extract GUIStudioMDL.exe anywhere, for example, the PonySource folder.)

Source SDK:
Go to TOOLS under your STEAM LIBRARY. Double click on SOURCE SDK. (No bases like 2006 or 2007, just plain SDK.)

---------------------------------------------------------------------------------------------------
1. SETTING UP PROGRAMS:
---------------------------------------------------------------------------------------------------
1. Open up SOURCE SDK.
2. Under Utilities, click REFRESH SDK CONTENT. (It will take awhile to download all the updates and stuff.)
3. At the bottom of the Source SDK window, check that ENGINE VERSION is Source Engine MP.
4. Under Utilities, click EDIT GAME CONFIGURATIONS.
5. In the new window, click ADD.
6. Name "Garry's Mod" without the quotes. 
7. Directory is where you installed Garry's Mod: e.g. C:\Program Files\Steam\steamapps\yourname\garrysmod\garrysmod
8. Click OK.
9. Click OK again.
10. Close SDK and open it up again. You should now be able to pick Garry's Mod under engine version MP. Close SDK.
11. Open up GUIStudioMDL. It will ask you to set EP1 and Orange Box paths.
12. Under the config tab, set the EP1 path to where you installed Source SDK e.g:
C:\Program Files\Steam\steamapps\yourname\sourcesdk\bin\ep1\bin\
12. Under the config tab, set the ORANGE BOX path to where you installed Source SDK e.g:
C:\Program Files\Steam\steamapps\yourname\sourcesdk\bin\orangebox\bin\
13. Back to GuiStudioMDL, tick the Orange Box bubble in the middle, under SDK Version.
14. On the left under Target Mod, you should be able to select Garry's Mod.

Now your program is ready to compile some pony!

---------------------------------------------------------------------------------------------------
2. SETTING UP THE MODELS:
---------------------------------------------------------------------------------------------------
In this example, I want to use Template1's mane and make an OC named SuperAwesomePony.
Let's also say that I placed the PonySource folder in my C:\ to make C:\PonySource\.

1. Open up the PonySource folder and navigate to the Meshes folder.
2. Since we are making an OC from a female pony template, navigate to the SharedTemplateFemale folder.
3. Select all and COPY to clipboard.
4. Go back out of that folder and then navigate to Template1 folder.
5. PASTE everything in there. Now you'll have lots of files.
6. You should now be (in this example) in C:\PonySource\Meshes\Template1\.
7. Now open up template1.qc with Notepad or Wordpad.
8. Now you'll see many walls of gibberish but DON'T PANIC. You only need to worry about 3 lines (all at the top):
$cd ""
$modelname "templatepony1.mdl"
$cdmaterials "models\mlp\template1\"
9. For $cd. change the space inside the quotes to WHERE YOU INSTALLED PONYSOURCE. e.g. for me, I changed it:
From:
$cd ""

To:
$cd "C:\PonySource\Meshes\Template1"

10. For $modelname, it is the name of your model once you compiled. In this case, I will change it to:
From:
$modelname "templatepony1.mdl"

To:
$modelname "SuperAwesomePony.mdl" (You don't need to use capital letters though.)

11. For $cdmaterials, it is where your textures will be for the model to use. In this case, I will change it to:
From:
$cdmaterials "models\mlp\template1\"

To:
$cdmaterials "models\mlp\SuperAwesomePony\"

12. RECAP. Let's see what we did. It should now look like:
From:
$cd ""
$modelname "templatepony1.mdl"
$surfaceprop "flesh"
$cdmaterials "models\mlp\template1\"

To:
$cd "C:\PonySource\Meshes\Template1"
$modelname "SuperAwesomePony.mdl"
$surfaceprop "flesh"
$cdmaterials "models\mlp\SuperAwesomePony\"

If it looks like that, then you are awesome.
And also ready to compile.

---------------------------------------------------------------------------------------------------
3. COMPILING YOUR PONY:
---------------------------------------------------------------------------------------------------
Are you still awake?  Hang in there! We're almost at the finish line.

1. Open up GuiStudioMDL (if it isn't already open.)
2. Make sure that SDK version is Orange Box and Target Mod is Garry's Mod.
3. Go to file>load QC file and select that template1.qc you edited in C:\PonySource\Meshes\Template1\
4. It will now say "Loaded QC File - "C:\PonySource\Meshes\Template1\template1.qc""
5. Hope for the best you didn't mess something up and hit compile under Actions.
6. A bunch of gibberish will be shown and the program will look like it's frozen, but it isn't. After waiting
some time, it will say "Completed "template1.qc."
7. Congratulations. You have just compiled a completely separate and hexed pony model with the name of SuperAwesomePony.
The model will be located and named in garrysmod\garrysmod\models\SuperAwesomePony.mdl and will use the textures from
garrysmod\garrysmod\materials\models\mlp\SuperAwesomePony.mdl

BUT WAIT A MINUTE, THERE ARE NO TEXTURES LOCATED IN THE SUPERAWESOMEPONY FOLDER! If you know how to hex textures
already, then you'll know what to do. If you don't, read the next section.

---------------------------------------------------------------------------------------------------
4. SETTING UP AND ADDING TEXTURES TO YOUR NEW PONY:
---------------------------------------------------------------------------------------------------
I am assuming you already downloaded the pony pack along with this source.
Remember, we took all the content from Template1.

1. Navigate to the Template1 textures folder to where you installed the pony pack for Garry's Mod. In this case, it's in:
garrysmod\garrysmod\addons\MLPPack\materials\models\mlp\template1\
2. Copy everything in there.
3. Back out of the Template1 folder and create a new folder named SuperAwesomePony inside the MLP folder.
4. Paste everything inside the new folder.
5. Now you should see 2 types of files: one is a .vtf and the other is a .vmt.
6. Open up all the .vmt files with Notepad or Wordpad.
7. The lines you only need to worry about are at the top: "$basetexture" and "$bumpmap"
8. Oh, doesn't this look familiar? These new textures aren't for Template1, but for SuperAwesomePony!
9. Go ahead and replace "template1" in those 2 lines with "SuperAwesomePony" in each .vmt file. "Body" texture might
not have a "$bumpmap" line. This is normal. For example:
From:
"$basetexture" "models/mlp/template1/blah"
"$bumpmap" "models/mlp/template1/mask"

To:
From:
"$basetexture" "models/mlp/SuperAwesomePony/blah"
"$bumpmap" "models/mlp/SuperAwesomePony/mask"

10. Start up Garry's Mod and see if your new pony works! Spawn via the "Browse" feature in the spawn menu. The
pony is listed in the "Garry's Mod" folder by default. If you want to merge your pony with the MLPPack in addons, go
to the next section.

11. If your pony works, give yourself a pat on the back. You have fought through this boring tutorial and lived
to tell the tale. Now you're a super cool model compiler porting person.

---------------------------------------------------------------------------------------------------
5. (OPTIONAL) - MERGE YOUR NEW PONY WITH THE MLPPACK ADDON
---------------------------------------------------------------------------------------------------
So you like to keep things organized huh? Me too.

1. Find your pony model files (in this case SuperAwesomePony) in Garry's Mod inside garrysmod\garrysmod\models\.
2. There will be 6-7 model files with all the same name, in this case, SuperAwesomePony. Select those and cut them (control+x
in Windows.)
3. Navigate to the models folder in the MLPPack addon in garrysmod\garrysmod\addons\mlppack\models\.
4. Paste your model files there. Next time you start up Garry's Mod, you will find your models along with the
other pony modelsin the MLPPack folder in Garry's Mod's "Browse" feature.

---------------------------------------------------------------------------------------------------
6. FAQ
---------------------------------------------------------------------------------------------------

Q - When I try to compile, nothing happens!

A - Open up Source SDK again and close it. Doing this verifies some files and stuff. Valve likes to break stuff when they
update their engine.

Q - Opening and closing Source SDK didn't fix it!

A - Open up Source SDK and hit "Refresh SDK Content." This'll redownload everything and hopefully it will work.

Q - I want more manes and tails for other ponies!

A - That's up to the person who is doing OC's stuff. I've only made your basic plain template ponies. For more advanced ones,
that is up to the OC person. They should have everything they need in this PonySource pack.